package com.zte.claa.inficombo.csa.app.service.dataredeal;

import java.util.List;

import com.zte.claa.inficombo.csa.app.model.redis.DevMeteData;
import com.zte.claa.inficombo.csa.app.service.redis.CSAMessagePublisher;

/**
 * @author 0283000115
 * 
 * 针对特定类型的metedata数据做二次处理。
 * 
 * 需要针对MeteData做二次处理的设备类型，均可以实现IMetedataRedealer接口，并向该服务注册自己.
 * 
 */
public interface MetedataRedealService {
	// 判断是否需要二次处理
	public boolean needRedeal(String devtypeId);
	
	// 提交一个待二次处理的数据
	public void submitMetedata(DevMeteData data);
	
	// 提交一批待合并数据（前提是需要合并）
	public void submitMetedatas(String devtypeId, List<DevMeteData> data);
	
	// 设置数据广播器（以便进行广播）
	public void setCSAMessagePublisher(CSAMessagePublisher publisher);
	
	// 注册IMetedataRedealer
	public void registMetedataRedealer(String devtypeId, IMetedataRedealer redealer);
}
